home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Taifun
/
Taifun 121 (1990-02-15)(Ossowski, Stefan)(DE)(PD).zip
/
Taifun 121 (1990-02-15)(Ossowski, Stefan)(DE)(PD).adf
/
DiskSpeed
/
DiskSpeed.doc
< prev
next >
Wrap
Text File
|
1989-11-08
|
6KB
|
124 lines
DiskSpeed v1.0
by
Michael Sinz
Copyright (c) 1989 by MKSoft Development
Yes, this is yet another disk speed testing program, but with a few
differences. It was designed to give the most accurate results of the
true disk performance in the system. For this reason many of
DiskSpeed's results may look either lower or higher than current disk
performance tests.
This program was thrown together in a few hours because I needed more
accurate and consistant results for disk performance as seen from the
application's standpoint. This program has now served its purpose and
I am now giving it to the rest of the Amiga world to play with as long
as all of the files remain together in unmodified form. (That is, the
files DiskSpeed, DiskSpeed.info, DiskSpeed.c, DiskSpeed.doc, and
MakeFile)
------------------------------------------------------------------------
User's Guide
DiskSpeed is very easy to operate. Just start the program by either
clicking on its icon or typing its name in from the CLI. DiskSpeed
will open another window with the "Drive:" string gadget active. Enter
the drive name and select "Test" from the menu and DiskSpeed will go
and test that device. The results will be displayed as they are
generated.
After the device has been tested, the results may be saved to the
DiskSpeed.Results file in the current directory or printed on the
printer. When the results are saved in DiskSpeed.Results, they are
appended to the end of that file in order to make it possible to create
a single file containing the results of all of your devices.
The Menus have shortcuts for all of the options.
------------------------------------------------------------------------
How Does DiskSpeed Work?
DiskSpeed is rather simple. It uses the Amiga's Timer.device to get
and calculate the time differences between the start and end of each
test section. This timer is locked to the VBlank frequency and thus is
rather stable and accurate. (Resolution is ~0.02 seconds so the
accuracy is +/- ~0.04 seconds. This should be rather good as most
operations take well over 2 seconds...)
The tests work as follows:
DiskSpeed will first create a temparary directory on the selected
device. Note that the device will have to be write enabled and will
need around 600 free blocks. (Depends on the filing system) All tests
are done in this directory and all files and this directory are removed
when the test is completed. It is for this reason that some parts of
the tests can not be stoped as there is a large amount of cleanup after
them.
File Create Test: ------------------------------------------------
In this test, the program generates 256 unique file names. As each of
the names are generated, the program Open()s the file as MODE_NEWFILE
and the Close()s it. This is to time the overhead in creating a file.
All of the files created are 0-bytes in length as no data is writen to
these files. These same files will be used for the Directory Scan and
File Delete tests.
Directory Scan Test: ------------------------------------------------
In this test, the directory of files created in the File Create test is
scanned twice to see how quickly the system can walk directories. Thus,
the timing is based on 512 directory ExNext()s. Note that results on
some very fast devices (such as RAM) could have more error as they can
scan over 900 files/second. However, most FFS and OFS devices peak out
in the range of 250 files/second and thus are less prone to timing
granularity.
File Delete Test: ------------------------------------------------
This test times the deletion of the files created in the File Create
test. This shows the overhead in the deletion of a file from the
filing system/device. After this point, the program once again checks
for the close gadget as it would be safe to exit here.
Seek And Read Test: ------------------------------------------------
For this test, a 256K-byte file was created. The program seeks to the
start of the file and reads 64 bytes; then it seeks to the end of the
file - 128 bytes and then reads 64 bytes; then it seeks to the middle
of the file and reads 64 bytes. It uses each of the three seeking
methods (OFFSET_BEGINNING, OFFSET_END, OFFSET_CURRENT) to do this. This
activity is repeated 150 times, for a total of 450 seek/reads. The
timings from this test will show both disk seek performance and
filesystem performance in the calculation of seek locations and actual
block values.
Raw Read Test: ------------------------------------------------
For this test, a 256K-byte file was created. The program seeks to the
start of the file and reads it in n-byte increments. (In the current
version of DiskSpeed, this is 512, 4096, and 32768 byte chunks.) The
complete file is read 12 times to give a more complete view of actual
read speeds. This test will mainly show the raw data transfer rate of
the machine plus the overhead of the operating system calls and device
driver calls. If the disk was very fragmented, it would also show some
signs of how the seek time is causing performance to drop due to the
fragmentation.
Raw Write Test: ------------------------------------------------
For this test, a 256K-byte file was created. The program seeks to the
start of the file and writes it in n-byte increments. (In the current
version of DiskSpeed, this is 512, 4096, and 32768 byte chunks.) The
complete file is written 6 times to give a more complete view of actual
write speeds. This test will mainly show the raw data transfer rate of
the machine plus the overhead of the operating system calls and device
driver calls. If the disk was very fragmented, it would also show some
signs of how the seek time is causing performance to drop due to the
fragmentation.